#include <REGX52.H>

// RCLK
sbit RCK = P3^5;
// SRCLK
sbit SCK=P3^6;
sbit SER=P3^4;

void _74HC595_WriteByte(unsigned char Byte){
    // top order initial 0 or 1
//    SER=Byte&0x80;
//    SCK=1;
//    SCK=0;
//    // 0100 0000
//    SER=Byte&0x40;
//    SCK=1;
//    SCK=0;
	unsigned char i;
    for(i=0; i < 8; ++i){
        SER=Byte&(0x80 >> i);
		SCK=1;
		SCK=0;
    }
    // send 8 bit output
    RCK=1;
    RCK=0;
}

void main(){

    SCK=0;
    RCK=0;
	_74HC595_WriteByte(0xf0);
	while(1){

	}
}
